<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
<!-- 
    循环：重复执行代码

    什么时候需要使用循环？
        1.有规律的操作
        2.重复执行的代码相似
    
    for(表达式1；表达式2；表达式3){
        循环体4
    }
    表达式1 用于初始化循环变量
    表达式2 限制循环次数（为true循环继续，为false循环结束）
    表达式3 改变循环变量（递增或递减）
    循环体4 要重复执行的代码
    1243 243 243 243 243 ...

    for注意点：
        1.小括号中的三个表达式都可以省略，但是分号不能省略
        2.如果表达式2没有返回布尔值false，会进入死循环
        3.表达式2可以是关系表达式或一个其他值（自动转成布尔值）
    
    for循环嵌套：外层的循环是行，内部的循环是列

    循环控制：
        1.break 立即结束循环
        2.continue 跳过本次循环，继续执行后面的循环

    while循环
    while(条件){
        循环体
    }
    如果条件为true，循环继续执行，如果条件为false，循环结束

    do{
        循环体
    }while(条件);
    先执行do中的代码，再判断条件，如果条件为true继续执行循环，如果条件为false结束循环

    while和do/while的主要区别：while循环可能一次都不执行，do/while至少执行一次

    断点测试：
        1.在代码中设置debugger添加断点
        2.在浏览器控制台的sources选项中，直接点击代码行号设置断点

    常见的错误类型：
        1.SyntaxError语法错误
        2.ReferenceError引用错误
        3.TypeError类型错误
        4.RangeError范围错误

    自定义错误对象：
        var err = new Error('出错啦'); 创建错误对象，浏览器不会报错
        throw err; 抛出错误，浏览器会报错

    JS中程序报错会导致后面的程序不执行

    使用 try{}catch(err){} 语句捕获错误
    通常将可能出错的程序放在try中执行，如果出错了，catch可以捕获到错误，避免浏览器报错

    
 -->

</body>
</html>